package com.hhd.demo


/**
 * 委托模式：。
 */
fun main(args: Array<String>) {
    val s = SmallHeadFather()
    s.wash()
}

/**
 * 洗碗能力借口
 */
interface WashPower{

    /**
     * 洗碗
     */
    fun wash()
}

/**
 * 拥有洗碗能力的大头儿子。
 */
class BigHeadSon:WashPower{
    override fun wash() {
        println("大头儿子开始洗碗了")
    }
}

/**
 * 小头爸爸 将洗碗的能力委托给大头儿子。
 * by 进行委托
 */
class SmallHeadFather:WashPower by BigHeadSon()

